﻿using Prism.Mvvm;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms.VisualStyles;
using System.Windows;

namespace CustomControls.DrawerMenu.Model
{
    /// <summary>
    /// 菜单栏模型
    /// </summary>
    public class MenuItemModel : BindableBase
    {
        private bool _IsSelected=false;
        /// <summary>
        /// 是否选中
        /// </summary>
        public bool IsSelected
        {
            get { return _IsSelected; }
            set { _IsSelected = value; RaisePropertyChanged(); }
        }
        private string _PageKey;
        /// <summary>
        /// 导航地址
        /// </summary>
        public string PageKey
        {
            get { return _PageKey; }
            set { _PageKey = value; RaisePropertyChanged(); }
        }
        private string _ItemTitle;
        /// <summary>
        /// 标题
        /// </summary>
        public string ItemTitle
        {
            get { return _ItemTitle; }
            set { _ItemTitle = value; RaisePropertyChanged(); }
        }

        private double _ItemTitleFontSize;
        /// <summary>
        /// 标题字体大小
        /// </summary>
        public double ItemTitleFontSize
        {
            get { return _ItemTitleFontSize; }
            set { _ItemTitleFontSize = value; RaisePropertyChanged(); }
        }
        private double _SelectItemTitleFontSize;
        /// <summary>
        /// 选中标题字体大小
        /// </summary>
        public double SelectItemTitleFontSize
        {
            get { return _SelectItemTitleFontSize; }
            set { _SelectItemTitleFontSize = value; RaisePropertyChanged(); }
        }

        private string _StringIocn;
        /// <summary>
        /// 字体图标
        /// </summary>
        public string StringIocn
        {
            get { return _StringIocn; }
            set { _StringIocn = value; RaisePropertyChanged(); }
        }
        private ObservableCollection<MenuItemModel> _Data;
        /// <summary>
        /// 多级菜单集合
        /// </summary>
        public ObservableCollection<MenuItemModel> Data
        {
            get { return _Data; }
            set { _Data = value; RaisePropertyChanged(); }
        }
        private Thickness _DMargin=new Thickness(0,0,0,0);
        public Thickness DMargin
        {
            get { return _DMargin; }
            set { _DMargin = value; RaisePropertyChanged(); }
        }

        private bool _IsLastValue=false;
        /// <summary>
        /// 是否最后一个
        /// </summary>
        public bool IsLastValue
        {
            get { return _IsLastValue; }
            set { _IsLastValue = value; RaisePropertyChanged(); }
        }

        private bool _IsHaveMoreItem = false;
        /// <summary>
        /// 
        /// </summary>
        public bool IsHaveMoreItem
        {
            get { return _IsHaveMoreItem; }
            set { _IsHaveMoreItem = value; RaisePropertyChanged(); }
        }


        public bool IsParentItem { set; get; } = true;

        public string ParentItemName { set; get; } 
    }
}
